package com.hj.chartdemo.utils

import android.content.Context

/**
 * 工具类
 */

object FunctionUtils {
    /**
     * 将px值转换为dip或dp值，保证尺寸大小不变
     */
    @JvmStatic
    fun px2dip(context: Context, pxValue: Float): Int {
        val scale = context.resources.displayMetrics.density
        return (pxValue / scale + 0.5f).toInt()
    }

    /**
     * 将dip或dp值转换为px值，保证尺寸大小不变
     *
     */
    @JvmStatic
    fun dip2px(context: Context, dipValue: Float): Int {
        val scale = context.resources.displayMetrics.density
        return (dipValue * scale + 0.5f).toInt()
    }

    /**
     * 将px值转换为sp值，保证文字大小不变
     *
     */
    fun px2sp(context: Context, pxValue: Float): Int {
        val fontScale = context.resources.displayMetrics.scaledDensity
        return (pxValue / fontScale + 0.5f).toInt()
    }

    /**
     * 将sp值转换为px值，保证文字大小不变
     *
     */
    fun sp2px(context: Context, spValue: Float): Int {
        val fontScale = context.resources.displayMetrics.scaledDensity
        return (spValue * fontScale + 0.5f).toInt()
    }


    /**
     * 字符串添加&emsp变成固定长度
     */
    fun stringLeng(s: String, leng: Int? = 5): String {
        var temlenght = s.length - leng!!
        when (temlenght > 0) {
            true -> return s.substring(0, leng)
            else -> {
                var temstring = ""
                for (i in 1..Math.abs(temlenght)) {
                    temstring += "&ensp;"
                }
                return s + temstring
            }
        }
    }
}
